The present invention relates to the field of invoking microcode instructions resident in a processor by executing a Reduced Instruction Set Computer Instruction (xe2x80x9cRISCxe2x80x9d) instruction. This invention also relates to the field of processor upgrades.
Personal computers have become very popular products that are found in many homes and nearly all offices. At the heart of a personal computer is a processor. The processor is a hardware device that is typically the single most expensive component in a personal computer. Processors used in today""s most popular computers include software typically referred to as microcode. Microcode within a processor is implemented to achieve a defined set of assembly language instructions which are executed by the processor known as the processor""s instruction set. The instructions most commonly supported in processors used in today""s most popular personal computers are Complex Instruction Set Computer (xe2x80x9cCISCxe2x80x9d) instructions. To execute CISC instructions, a processor executes microcode which effectively translates the CISC instruction into multiple opcodes, also known as micro-ops and microcode, which are then executed by the processor. Alternatively, Reduced Instruction Set Computer (xe2x80x9cRISCxe2x80x9d) instructions may be supported by a processor. RISC instructions are directly mapped to one micro-op which is the equivalent of the RISC instruction. A processor with a RISC instruction set architecture eliminates the step of translating the instruction and eliminates the invocation of microcode within the processor needed to translate a complex instruction. At present, most processors are either CISC or RISC, but not both.
A reason contributing to the popularity of personal computers is that computers are upgradeable. When a component of a computer becomes outdated or is defective, it can be replaced or upgraded. For example, if a hardware component such as a disk drive or modem becomes outdated or ceases to function, the component can be swapped out and replaced, or repaired and reinstalled. If a software component becomes outdated, the old version can easily be uninstalled, and a new improved version can be installed. In addition, software upgrades are regularly made available to fix errors in software commonly known as bugs. Examples of software components include application programs such as word processors (e.g., Microsoft Word, Corel WordPerfect). Removal and replacement of hardware components is not commonly performed by the typical computer user, while it is common for most computer users to upgrade, uninstall and install software.
Like application programs, microcode instructions implementing CISC assembly language instructions on a processor can be plagued by bugs. Like other kinds of hardware, although a processor can be replaced, such replacement is not common. If a software error or bug is found in a processor, it would be unduly costly for the manufacturer to provide new, updated processors to all of those customers with computers which contain the processor with the error. Moreover, it would be unwieldy to require end users to remove and replace their computers"" processors. Likewise, it is too costly to expect and too unwieldy to require computer owners to replace their computers"" processors to add additional or enhanced features when new processors are introduced into the marketplace, and to increase the functionality of a computer""s processor by adding compatibility with an additional instruction set.
A method includes fetching a special Reduced Instruction Set Computer (xe2x80x9cRISCxe2x80x9d) instruction stored on a memory device external to a processor. The special RISC instruction is then executed on the processor to achieve a special function responsive to information stored on the processor such that resident microcode instructions are invoked.